
#include <iostream>
#include <string>

class Person
{
public:
    Person(const std::string& name): _name(name){}
    std::string name() const {
        return _name;
    }
private:
    std::string _name;
};

inline Person operator "" _psn (const char *name, size_t n)
{
    std::cout << "name is " << name << "\nsize is " << n << std::endl;
    return Person(std::string(name, n));
}

std::string operator "" _hh(unsigned long long i) {

    std::cout << "_hh i " << i << std::endl;
    return "helloworld";
}

int main()
{
    auto person = "Xiao Ming"_psn;
    std::cout<< "The person' name is " << person.name() << std::endl;

    std::string x = 11_hh;
    std::cout <<"x " << x << std::endl;

    return 0;
}